package model.uml.transition;

import model.AbstractStatechartComponent;
import model.util.Line;
import model.util.Point;

public class Transition extends AbstractStatechartComponent {

	private Label label = null;
	private Line line = null;

	public enum Property {
		LABEL, LINE
	};

	public Transition(long id, Long parentId, Point location) {
		super(id, parentId, location);
	}

	public Label getLabel() {
		return label;
	}

	public void setLabel(Label label) {
		Label oldLabel = this.label;
		this.label = label;
		this.propertyChangeSupport.firePropertyChange(Property.LABEL.name(),
				oldLabel, label);
	}

	public Line getLine() {
		return line;
	}

	public void setLine(Line line) {
		Line oldLine = this.line;
		this.line = line;
		this.propertyChangeSupport.firePropertyChange(Property.LINE.name(),
				oldLine, line);
	}
}
